package ${domain}.module.wsys.req;

import org.hibernate.validator.constraints.Length;
import ${domain}.frame.base.BaseUpdateRequest;
import ${domain}.frame.validation.Select;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * UserUpdateRequest - 用户更新
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2017-01-01
 */
public class UserUpdateRequest extends BaseUpdateRequest {

    /**
     * 主键
     */
    @NotNull(message = "[id]主键不能为NULL")
    private Long id;

    /**
     * 用户代码
     */
    @Length(min = 0, max = 50, message = "[userCode]用户代码长度不合法(0-50)")
    private String userCode;

    /**
     * 用户别名
     */
    @Length(min = 0, max = 50, message = "[userAlias]用户别名长度不合法(0-50)")
    private String userAlias;

    /**
     * 用户状态.
     * 0:无效
     * 1:有效
     * 2:初始密码
     */
    @NotNull(message = "[userStatus]用户状态不能为NULL")
    @Select({"0", "1", "2"})
    private String userStatus;

    /**
     * 部门主键
     */
    private Long deptId;

    /**
     * 部门代码
     */
    private String deptCode;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 角色代码
     */
    private List<String> roleCodeList;

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUserCode() {
        return this.userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getUserAlias() {
        return this.userAlias;
    }

    public void setUserAlias(String userAlias) {
        this.userAlias = userAlias;
    }

    public String getUserStatus() {
        return this.userStatus;
    }

    public void setUserStatus(String userStatus) {
        this.userStatus = userStatus;
    }

    public Long getDeptId() {
        return this.deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeptCode() {
        return this.deptCode;
    }

    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public List<String> getRoleCodeList() {
        return roleCodeList;
    }

    public void setRoleCodeList(List<String> roleCodeList) {
        this.roleCodeList = roleCodeList;
    }
}
